home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 December / The Sunday Times - The Month 2003-12.iso / mac / The Month DEC 03 / engine / modules / preview_wide.swf / scripts / frame_1 / DoAction.as
Text File  |  2003-11-06  |  6KB  |  248 lines

  1. function addLink(mc)
  2. {
  3.    Links[mc.link] = mc;
  4. }
  5. function getMCfromLink(Item)
  6. {
  7.    if(Links[Item] == null)
  8.    {
  9.       var arr = [];
  10.       while(Item != sideMenu.ItemHome)
  11.       {
  12.          arr.unshift(Item._name.split("_").pop());
  13.          Item = Item._parent._parent;
  14.       }
  15.       var str = arr.join("/");
  16.       Links[Item] = Links[str];
  17.    }
  18.    return Links[Item];
  19. }
  20. function removeLinkListener()
  21. {
  22.    Tardis.sideMenu.EB.removeListener(this);
  23. }
  24. function init()
  25. {
  26.    var strID = Tardis.ActiveSection.id;
  27.    var Colors = Tardis.Colors;
  28.    strSECTION_COLOR = Colors.getString(strID);
  29.    SECTION_COLOR = Colors.getHex(strID);
  30.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  31.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  32.    DEFAULT_COLOR = Colors.getHex("default");
  33.    DEFAULT_COLOR50 = Colors.getString("default50");
  34.    ndItems = nodeData.byName("items");
  35.    loadFader();
  36.    ndDefault = nodeData.byName("default");
  37. }
  38. function checkLoad()
  39. {
  40.    if(mc_images._width > 0)
  41.    {
  42.       if(!displayed)
  43.       {
  44.          displayed = true;
  45.          doOut("initial");
  46.          clearInterval(intervalID);
  47.          _visible = true;
  48.       }
  49.    }
  50. }
  51. function loadFader()
  52. {
  53.    this.createEmptyMovieClip("mc_images",++depth);
  54.    mc_images._x = 0;
  55.    mc_images._y = 0;
  56.    mc_images.onReady = function()
  57.    {
  58.       this.onComplete = function()
  59.       {
  60.          delete this.onComplete;
  61.          this._parent.onComplete();
  62.       };
  63.       this.nodeData = this._parent.ndItems;
  64.       this.strPathPrefix = this._parent.strPathPrefix;
  65.       this.init();
  66.    };
  67.    mc_images.loadMovie(strPathPrefix + Tardis.ENGINE_FOLDER + "modules/preview_fader.swf");
  68.    intervalID = setInterval(checkLoad,300,this);
  69. }
  70. function clearFader()
  71. {
  72.    removeMovieClip("mc_images");
  73.    loadFader();
  74.    mc_images.clearUp();
  75. }
  76. function exit()
  77. {
  78.    delete ndItems;
  79.    delete ndDefault;
  80.    delete nodeData;
  81. }
  82. function doOver(num)
  83. {
  84.    trace("preview_wide.doOver ( " + num + " )");
  85.    if(num == undefined || num == null || num == "default")
  86.    {
  87.       populateRollText(ndDefault);
  88.    }
  89.    else
  90.    {
  91.       var node = ndItems.childNodes[num];
  92.       if(node != null)
  93.       {
  94.          populateRollText(node);
  95.          mc_images.doOver(num);
  96.       }
  97.    }
  98. }
  99. function doOut(num)
  100. {
  101.    trace("preview_wide.doOut ( " + num + " )");
  102.    populateRollText(ndDefault);
  103.    if(!(num == "default" || num == undefined || num == null))
  104.    {
  105.       mc_images.doOut(num);
  106.    }
  107. }
  108. function doPromoOver()
  109. {
  110.    trace("preview_wide.doPromoOver()");
  111.    promoMC.gotoAndStop("on");
  112. }
  113. function doPromoOut()
  114. {
  115.    trace("preview_wide.doPromoOut()");
  116.    promoMC.gotoAndStop("off");
  117. }
  118. function promoUp()
  119. {
  120.    Tardis.sideMenu.doPromoUp();
  121. }
  122. function promoOver()
  123. {
  124.    promoMC.gotoAndStop("on");
  125.    Tardis.sideMenu.doPromoOver();
  126. }
  127. function promoOut()
  128. {
  129.    promoMC.gotoAndStop("off");
  130.    Tardis.sideMenu.doPromoOut();
  131. }
  132. function populateRollText(node)
  133. {
  134.    var promo = false;
  135.    removeMovieClip("promoMC");
  136.    titleFF.htmlText = "";
  137.    title2FF.htmlText = "";
  138.    bodyFF.htmlText = "";
  139.    TEXT_POS = 3;
  140.    if(node.byName("title").getText() != null || node.byName("title2").getText() != null || node.byName("title3").getText() != null)
  141.    {
  142.       var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + node.byName("title").getText() + " </FONT>";
  143.       strTitle += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + node.byName("title2").getText() + " </FONT>";
  144.       strTitle += "<FONT COLOR=\"" + DEFAULT_COLOR50 + "\"> " + node.byName("title3").getText() + " </FONT>";
  145.       titleFF.htmlText = strTitle;
  146.       titleFF._y = TEXT_POS;
  147.       titleFF.resize();
  148.       TEXT_POS += titleFF._height - 3;
  149.    }
  150.    if(node.byName("byline").getText() != null)
  151.    {
  152.       title2FF.htmlText = node.byName("byline").getText();
  153.       title2FF.textColor = DEFAULT_COLOR;
  154.       title2FF._y = TEXT_POS;
  155.       title2FF.resize();
  156.       TEXT_POS += title2FF._height - 9;
  157.    }
  158.    if(node.byName("body").getText() != null)
  159.    {
  160.       bodyFF.htmlText = node.byName("body").getText();
  161.       bodyFF.textColor = DEFAULT_COLOR;
  162.       bodyFF._y = TEXT_POS;
  163.       bodyFF.resize();
  164.    }
  165.    var ndPromo = node.byName("promotion");
  166.    if(ndPromo.byName("byline2").getText() != null)
  167.    {
  168.       attachMovie("promoMC2","promoMC",++depth);
  169.       promoMC._x = 188;
  170.       promoMC._y = 84;
  171.       promo = true;
  172.    }
  173.    else if(ndPromo.byName("title").getText() != null || ndPromo.byName("byline").getText() != null)
  174.    {
  175.       attachMovie("promoMC1","promoMC",++depth);
  176.       promoMC._x = 188;
  177.       promoMC._y = 99;
  178.       promo = true;
  179.    }
  180.    if(promo)
  181.    {
  182.       if(ndPromo.attributes.link != null)
  183.       {
  184.          PromoMC.link = ndPromo.attributes.link;
  185.          PromoMC.navLink = true;
  186.       }
  187.       else
  188.       {
  189.          PromoMC.link = ndPromo.byName("link").getText();
  190.       }
  191.       PromoMC.promotitleFF.htmlText = ndPromo.byName("title").getText();
  192.       PromoMC.promotitleFF.textColor = SECTION_COLOR50;
  193.       PromoMC.promotitleFF.autosize = true;
  194.       PromoMC.promobylineFF._x = PromoMC.promotitleFF._x + PromoMC.promotitleFF._width;
  195.       PromoMC.promobylineFF.htmlText = ndPromo.byName("byline").getText();
  196.       PromoMC.promobylineFF.textColor = DEFAULT_COLOR;
  197.       PromoMC.promobylineFF.autosize = true;
  198.       if(ndPromo.byName("byline2").getText() != null)
  199.       {
  200.          PromoMC.promobyline2FF.htmlText = ndPromo.byName("byline2").getText();
  201.          PromoMC.promobyline2FF.textColor = DEFAULT_COLOR;
  202.       }
  203.       else
  204.       {
  205.          PromoMC.promobyline2FF._height = 0;
  206.       }
  207.       PromoMC.btn._width = PromoMC.promobylineFF._width + PromoMC.promotitleFF._width;
  208.       PromoMC.btn._height = PromoMC._height + PromoMC.promobyline2FF._height;
  209.    }
  210.    else
  211.    {
  212.       PromoMC.btn.enabled = false;
  213.    }
  214. }
  215. function txtOver(mc)
  216. {
  217.    Tardis.sideMenu.doOver(mc.link);
  218. }
  219. function txtOut(mc)
  220. {
  221.    Tardis.sideMenu.doOut(mc.link);
  222. }
  223. function txtUp(mc)
  224. {
  225.    if(mc.navLink)
  226.    {
  227.       Tardis.sideMenu.doUp(mc.link);
  228.    }
  229.    else
  230.    {
  231.       Tardis.webPageOpen(mc.link,"_blank");
  232.    }
  233. }
  234. Links = {};
  235. Tardis.sideMenu.EB.addListener(this);
  236. _parent.preview = this;
  237. var displayed = false;
  238. depth = 0;
  239. stop();
  240. onReady();
  241. this.onUnload = function()
  242. {
  243.    removeLinkListener();
  244.    clearInterval(intervalID);
  245.    this.onUnload = null;
  246. };
  247. var nmLastCover = -1;
  248.